package com.qzsoft.zhjd.asphalt.modules.asphaltmatch.service;

import java.util.List;
import java.util.Map;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.qzsoft.zhjd.asphalt.modules.asphaltmatch.dto.AsphaltMatchDetsilsDto;
import com.qzsoft.zhjd.asphalt.modules.asphaltmatch.dto.AsphaltMatchListDto;
import com.qzsoft.zhjd.asphalt.modules.asphaltmatch.dto.AsphaltMatchSelectDto;
import com.qzsoft.zhjd.asphalt.modules.asphaltmatch.entity.AsphaltMatchEntity;

/**
 * @ClassName AsphaltMatchService
 * @Description 沥青混合料级配业务接口
 * @author linhuawei
 * @since 2021-09-03
 */
public interface AsphaltMatchService extends IService<AsphaltMatchEntity> {

    /**
     * @Title pageDto
     * @Description 获取级配列表分页
     * @param params 查询条件
     * @return 级配列表分页
     */
    IPage<AsphaltMatchListDto> pageDto(Map<String, Object> params);

    /**
     * @Title list
     * @Description 获取级配列表
     * @param params 查询条件
     * @return 级配列表
     */
    List<AsphaltMatchEntity> list(Map<String, Object> params);

    /**
     * @Title list
     * @Description 获取配方列表
     * @param params 查询条件
     * @return 配方列表
     */
    List<AsphaltMatchSelectDto> listSelect(Map<String, Object> params);

    /**
     * @Title getBystationAndCode
     * @Description 根据拌合楼、编号获取级配信息
     * @param stationCode 拌合楼主键
     * @param matchCode     配方编号
     * @return 级配信息
     */
    AsphaltMatchEntity getByCode(String matchCode);

    /**
     * @Title getDetails
     * @Description 获取配比详情
     * @param id 数据主键
     * @return 配比详情
     */
    AsphaltMatchDetsilsDto getDetails(String id);

    /**
     * @Title updateHotConfig
     * @Description 更新热料配置状态
     * @param id    配比主键
     * @param state 配置状态
     */
    void updateHotConfig(String id, int state);

    /**
     * @Title updateColdConfig
     * @Description 更新冷料配置状态
     * @param id 配比主键
     * @param state 配置状态
     */
    void updateColdConfig(String id, int state);
    /*
     * @Author zhaij
     * @Description //沥青生产配比保存
     * @Date 14:34 2022\1\25 0025
     * @Param [entity]
     * @return int
     **/
    int saveAsphaltMatch(AsphaltMatchEntity entity);
}
